1. Field of the Invention
The present invention relates generally to a device and method for generating spreading code in a CDMA communication system, and in particular, to a device and method for generating spreading code for spread spectrum.
2. Description of the Related Art
In an existing IS-95 CDMA system, spread spectrum is performed at a chip rate of 1.2288xc3x97106 cps (chips per second), so that a short PN (Pseudo Noise) code is generated at the chip rate of 1.2288xc3x97106 cps Since the short PN code should be generated during one-frame period (80 msec/3xe2x89xa126.67 msec) of a sync channel, the short PN code has a period of 215 chips (1.2288xc3x97106 cps*0.02667 sec).
FIG. 1 shows a conventional device for generating spreading codes. Referring to FIG. 1, the spreading code generator generates a short PN code using a generator for generating an ML sequence (M-sequence and/or Maximal-Length sequence, hereinafter the two terms will be used interchangeably) of length 215xe2x88x921. The generator is comprised of 15 shift registers labeled R1-R15. By inserting one xe2x80x980xe2x80x99 after 14 xe2x80x980xe2x80x99 sequences IS-95 standard identifies two phase channels (i.e., In-phase and Quadrature-phase channels) that use different polynomials and employ two different ML sequences.
A short PN code having a delay effect by a specific period xcex94 with regard to the generated short PN code can be obtained by selectively module-2 adding the shift register values of the generator polynomial. That is, in FIG. 1, modulo-2 adders 101-104 modulo-2 add outputs of their associated shift registers R1-R15 to the outputs of their associated AND gates 122-125, and provide their outputs to shift registers in the next stages. To select a shift register value for modulo-2 adding, a mask Short_PN_Code_Mask[0:14] is used. That is, different mask values are applied to generate short PN codes having a different offset (or phase difference).
A proposed IMT-2000 system based upon a CDMA-2000 system supports a wideband CDMA system having a spreading frequency bandwidth greater than 1.2288xc3x97106 cps. For a short PN code used in this case, 2Sxe2x88x921 (where S is a positive number) sequences are partially selected from an ML sequence of length 215xc3x97N (where N is a 3 or a multiple of 3) which is not the conventional ML sequence of 215xe2x88x921. Table 1 below shows a length of the short PN code required for each chip rate.
Although an offset delay value for identifying the base station is applied to the generated short PN code, only the partially selected sequence should occur. However, in the conventional method in which an offset-delayed short PN code is generated by simply applying one mask, a sequence departing from the selected ML sequence period may be generated undesirably.
Such problems will be described with reference to FIG. 2. FIG. 2 shows a method for determining a short PN code having a length p=215xc3x973 from an ML sequence having a length m=217xe2x88x921 represented by (b). Assume that the method for generating the spreading code having a length 215xc3x973 shown in FIG. 1 is expanded to generate a short PN code by selecting only the first xc2xe portion from an ML sequence of length 217xe2x88x921, in which 17 shift registers are provided. Assuming that a value selected from one period value of the binary ML sequence represented by (b) is C0 and a short PN code is generated by selecting sequence values of length p beginning at the sequence value C0, the remaining (mxe2x88x92p) sequences out of the total m ML sequences correspond to an unused sequence. There is a simple method for generating the short PN code by selecting a partial period of the whole ML sequence. In this method, a present state, represented by (d), of the shift register for generating the ML sequence or a sequence output is monitored. Further, after the state of the shift register becomes Spxe2x88x921 as represented by (d) of FIG. 2, or after a (pxe2x88x921)th sequence occurs, an initial state signal represented by (c) is generated to initialize the shift register so that the first sequence C0 is output.
A description will be made regarding a phenomenon occurring when only one mask value Mask_r corresponding to xe2x80x98rxe2x80x99 is applied as shown in FIG. 1 to apply an offset delay xe2x80x98rxe2x80x99 to the generated short PN code represented by (e) of FIG. 2. In this case, as shown by (f) of FIG. 2, the offset delay value xe2x80x98rxe2x80x99 is applied to the ML sequence value in an A period corresponding to the sequences from 0th sequence to an (rxe2x88x921)th sequence to generate (mxe2x88x92r)th to (mxe2x88x921)th sequence values out of the original whole ML sequence of length xe2x80x98mxe2x80x99, and generate 0th to (pxe2x88x92rxe2x88x921)th ML sequence vales from rth to (pxe2x88x921)th ML sequences. This is because based on a unique property of the ML sequence, the offset delay value is determined according to the present shift register state and the mask value, and since a period of the original ML sequence is xe2x80x98mxe2x80x99, the offset delay occurs based on this period. Therefore, (mxe2x88x92r)th to (mxe2x88x921)th ML sequence values belonging to the unused period occur in the A period. The presence of the sequence values in the A period is against the original intention of cyclic delaying only the original ML sequence values of 0th sequence C0 to (pxe2x88x921)th sequence Cpxe2x88x921. That is, to achieve the desired cyclic offset delay as represented by (g) of FIG. 2, the offset delay value xe2x80x98rxe2x80x99 is applied to 0th to (rxe2x88x921)th ML sequence values C0-Crxe2x88x921 so as to generate (pxe2x88x92r)th to (pxe2x88x921)th sequence values of the original ML sequence.
As described above, when the conventional spreading code generation method generates a short PN code using only one mask, the undesired output is obtained in the A period of FIG. 2. To solve such problems, there is required a mask, Mask_(mxe2x88x92p+r), for further delaying by xe2x80x98mxe2x88x92pxe2x80x99 which corresponds to a length of the unused sequence of the original ML sequence, instead of using the mask Mask_r for delaying by xe2x80x98rxe2x80x99 in the A area.
It is, therefore, an object of the present invention to provide a device and method for generating a short PN code for spread spectrum in a CDMA communication system.
It is another object of the present invention to provide a device and method for generating a spreading code having a short period from a sequence having a long period in a CDMA communication system.
It is further another object of the present invention to provide a spreading code generation device and method which uses at least two masks in consideration of an offset so that an unused sequence period out of the whole sequence having a long period should not occur in the spreading code having the offset, in a CDMA communication system.
To achieve the above object, there is provided a device for generating a spreading code in a CDMA communication system. In the device, an ML (Maximal Length) sequence generator generates an ML sequence according to a generator polynomial of an ML sequence having a length 2Sxe2x88x921 and a given initial value, and reloads the initial value whenever an ML sequence having a length shorter than the length 2Sxe2x88x921 is generated, to repeatedly perform an operation of generating the ML sequence. A mask selector including first and second masks having a given offset, selects the first mask in an ML sequence period of the desired length and selects the second mask in the other period. An adder modulo-2 adds an output of the ML sequence generator and an output of the mask selector to generate the spreading code, and truncates the ML sequence upon receipt of the second mask.